home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-07 | 3.0 KB | 70 lines | [TEXT/MPS ] |
- # File: Directory2
- #
- # Copyright Apple Computer, Inc. 1991
- # All rights reserved.
- #
- #
- # Scripts that have Projector commands within them can normally not be
- # executed by ToolServer. Using SourceServer, the RProj tool, and three support
- # scripts (AliasSourceServer, UnaliasSourceServer, and Directory2), ToolServer
- # can perform Projector functions. SourceServer must be running on the same
- # computer as ToolServer before the Projector scripts can be executed.
- # Individual Projector command lines are sent from ToolServer to SourceServer
- # via AppleEvents by the RProj tool. To allow RProj to automatically be invoked
- # any time a Projector command is encountered, we use the AliasSourceServer
- # script to alias each ProjectorCommand to "RProj ProjectorCommand". To make
- # sure that the aliases remain in effect even after the AliasSourceServer script
- # has finished running, we must use the command line, "Execute AliasSourceServer".
- # Directory commands also need to be aliased to Directory2, which will keep the
- # current directory of both ToolServer and SourceServer set to the same location
- # so both Projector and non-Projector commands operate on the same set of files.
- # This alias is also established by the AliasSourceServer script. Finally, after
- # completion of the Projector commands, "Execute UnaliasSourceServer" restores
- # ToolServer to it's normal operation.
- #
- # This file, Directory2, is one of the support scripts.
-
- # Prior to calling Directory2, the AliasSourceServer script has executed
- # "Alias Directory Directory2". Within this script, we will use the built-in
- # command, Directory, so we must unalias it to restore normal operation. The
- # Unalias command has local scope, so upon exiting this script, the alias to
- # Directory2 will be back in force!
-
- Unalias Directory
-
- # The parameters for the original call to Directory remain the parameters
- # for Directory2 also. We must now parse them and make sure the desired action
- # takes place both for ToolServer and SourceServer:
-
- if {#} == 0
-
- # "Directory", with no parameters, means to echo the current directory that
- # the ToolServer script is executing in. For this we could just unalias directory
- # and then make the call directly to the built in command. However, this is an
- # opportunity to also insure that SourceServer is in synch with ToolServer. So
- # a variable is set to the current directory and then sent off as a command to
- # SourceServer. Finally, the vanilla directory command is finished by echoing
- # the current directory.
-
- Set myDir "`Directory`"
- echo "{myDir}"
- RProj Directory {myDir} ≥≥Dev:Null
- else
- if "{1}" =~ /-q/
-
- # Sending "Directory -q" is a special beast. I can't send the unquoted
- # directory name on to SourceServer because the RProj command will treat each
- # word of the file name as a seperate argument. Just send the unquoted shell
- # directory back to ToolServer.
-
- Directory "{1}"
- else
-
- # The main operation of Directory2 is to SET the directory! Do this
- # for both the Shell and SourceServer.
-
- Directory "{1}"
- RProj Directory "{1}" ≥≥Dev:Null
- end
- end
-